C语言 问题```头快暴了```救命啊``高手请进```

来源:百度知道 编辑:UC知道 时间:2024/04/28 13:47:35
#include <stdio.h>
main()
{
int sum,sun,f,n;
int a;
for (n=1;n<10;n++)
{
scanf("%d",&a);
if (a>0)
sum+=a;
else
sun+=a;
}
f=sum+sun;
printf("整数:%d\n",sum);
printf负数:%d\n",sun);
printf("10个数的和:%d\n",f);
}

``这个程序错在哪??高手你们调试看看结果```不知道为什么```请改正后发上来谢谢

for (n=1;n<10;n++)
这个循环有毛病,只执行9次
应该是for (n=0;n<10;n++)
这个才是执行10次的
还有sum和sun没有初始化
修改int sum,sun,f,n;为int sum=0,sun=0,f,n;
还有
printf("整数\n",sum);
printf("负数\n",sun);
应该为
printf("整数:%d\n",sum);
printf("负数:%d\n",sun);
所以程序为
#include <stdio.h>

void main()
{
int sum=0,sun=0,f,n;
int a;
for (n=0;n<10;n++)
{
scanf("%d",&a);
if(a>0) sum+=a;
if(a<0) sun+=a;
}
f=sum+sun;
printf("整数:%d\n",sum);
printf("负数:%d\n",sun);
printf("10个数和为:%d\n",f);
}

sun
没有初始化。

sun,sum必须给初值

printf负数:%d\n",sun);
少了这(
最好sun,sum都给初值为0

有几个错误.
1 sum , sun 没有赋值为0
2 for (n=1;n<10;n++) 只有循环9次
3 printf负数:%d\n",sun);少一个括号.

用作计数器的变量 务必要初始化